Case based reasoning is an artificial intelligence technique implemented with a computer that accepts the description of a problem and uses a database of past cases in order to find a solution to the problem at hand. The term "case" refers to a problem-solving experience.
A case-based reasoning system has as its major components a case retriever, a case reasoner, and a case library. The case retriever retrieves one or more cases that is stored in the case library each time a new problem needs to be solved. The case reasoner obtains these cases from the case retriever and will present the solution to the user, or modify the solutions of the retrieved cases as appropriate in order to solve the new problem.
One known case-based reasoning system is set forth in Koton, "Using a Case Memory to Integrate Case-Based and Causal Reasoning," Case-Based Reasoning Workshop, Aug. 23, 1988, pp. 74-81, which is applied in the area of medical diagnosis. In this system, each case contains the symptoms of a patient, the diagnosis of his problem, and a therapy. The system retrieves cases which appear relevant to the problem that it is trying to solve, and uses domain knowledge in order to "justify" that each retrieved case was indeed relevant. However, this known system has no capability to learn the results of a justification attempt in order to use these results to justify or nullify other cases that are initially retrieved. Furthermore, this system assumes that the cases retrieved are relevant, and also that the number of cases that are retrieved are few in number. By making these assumptions, this medical diagnosis case-based reasoning system concentrates on how to modify the therapy that is associated with the retrieved case, rather than assuring that the retrieved cases are justifiably relevant.
Another case-based reasoning system is discussed in Hammond et al., "Extracting Diagnostic Features from Explanations," Department of Computer Science, The University of Chicago, pp. 167-178, which is directed to the diagnosis and repair of lawn mowers. Each case in the case library consists of the diagnosis of a particular lawn mower problem and the repair that fixes this problem. In this system, it is assumed that only one set of related cases would be retrieved, something that is not always possible to guarantee. In order to justify each retrieved case, the system uses what are known as backward chaining rules. Using such rules will prevent the system from scaling up, (increasing the size of the rules to increase the depth of the system) since for a realistic data base the number of backward chaining rules may be prohibitively large. In this system, the results of the justification process are not learned and as a result, they cannot be utilized in the justification of other retrieved cases in the set of related cases that are initially retrieved.
Other existing case-base reasoning systems essentially make two assumptions. The first assumption is that the case retrieval components will retrieve only one case from the case library each time a new problem needs to be solved. The second assumption is that the retrieved case will be a justifiably relevant case. The existing systems, therefore, concentrate on how to modify the solution which is associated with a retrieved case in order to solve a new problem. In order to guarantee that only one case is retrieved from the case library, these existing systems use various methods for organizing the case library, and rely on heuristic techniques in order to determine how to best search the case library. However, they do not check whether the retrieved case is truly (or justifiably) relevant. In other words, they do not check beyond the surface similarities shared between the retrieved case and the new problem.
A human user should be presented with cases that are justifiably relevant in order to reduce the amount of time needed to solve a new problem presented to the system. Presentation of a large number of non-justifiably relevant cases will cause the user to attempt a number of solutions that will be inappropriate to the new problem. There is, therefore, a need for a case-based reasoning system in which only cases that are justifiably relevant are retrieved and presented to a case reasoner and ultimately the user of the system.